/*
 * Tencent is pleased to support the open source community by making Blueking Container Service available.
 * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
 * Licensed under the MIT License (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 * http://opensource.org/licenses/MIT
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 * either express or implied. See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

package main

import (
	"fmt"
	"os"

	"github.com/Tencent/bk-bcs/bcs-common/common/version"
	"github.com/Tencent/bk-bcs/bcs-services/bcs-health/pkg/alarm/bsalarm"
	"github.com/Tencent/bk-bcs/bcs-services/bcs-health/pkg/alarm/bsalarm/kafka/app"
	"github.com/elastic/beats/libbeat/beat"
)

func main() {
	if err := os.Remove(bsalarm.DefaultSock); err != nil {
		if !os.IsNotExist(err) {
			fmt.Fprintf(os.Stderr, "remove sock failed, err: %v", err)
			os.Exit(1)
		}
	}
	exporter, err := app.NewExporter()
	if err != nil {
		fmt.Fprintf(os.Stderr, "new exporter failed. err: %v", err)
		os.Exit(1)
	}
	if err := beat.Run("bcs-health", version.GetVersion(), exporter.Initialize); err != nil {
		fmt.Fprintf(os.Stderr, "run data beat failed. err: %v", err)
		os.Exit(1)
	}
}
